/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package datos;

/**
 *
 * @author Angelica
 */

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import optativa911.Problema1;
import optativa911.Solicitante;

public class ProblemaDB {

public boolean grabar(Problema1 miProblema, Solicitante miSolicitante, String nivelproblema) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into registrollamada values('" + "1" +   "','" + miSolicitante.getCedula() +"','" + miProblema.getLugar()+"','" + miProblema.getMotivo()+ "','" + nivelproblema +"','" + miProblema.getFecha() +"','" + miProblema.getEstado() +"')";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }

    public int modificar(Problema1 miProblema, Solicitante miSolicitante, String nivelproblema) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="update registrollamada set fecha='" + miProblema.getFecha() + "', cedula='" + miSolicitante.getCedula() +"', direccion='" + miProblema.getLugar() +"', descripcion='" + miProblema.getMotivo()+"', idnivelproblema='" + nivelproblema +"', fecha='" + miProblema.getFecha()+"', estado='" + "' where id='" + "1" + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public int eliminar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from registrollamada where id='" + id + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    
   
    public Problema1 buscar(int  id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from registrollamada where id ='" + id + "'";
        ResultSet resultado = db.seleccion(query);
        Problema1 miProblema=null;
        if (resultado!=null) {
            resultado.next();
            miProblema = new Problema1();
            String a=resultado.getString("id");
            miProblema.setId(resultado.getString("id"));
            miProblema.setFecha(resultado.getString("fecha"));
            miProblema.setLugar(resultado.getString("lugar"));
            miProblema.setMotivo(resultado.getString("motivo"));
            miProblema.setEstado(resultado.getString("estado"));
        }
        db.cerrarConexion();
        return miProblema;
    }
    
    
     public int buscarCantidad(int numfactura, String codigo) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from factura_producto where numerofactura ='" + numfactura + "' and codigoproducto = '"+ codigo+ "'";
        ResultSet resultado = db.seleccion(query);
        int cantidad=0;
        if (resultado!=null) {
            resultado.next();
            cantidad=resultado.getInt("cantidad");
        }
        db.cerrarConexion();
        return cantidad;
    }
    

  public ArrayList listar() throws SQLException {
       OperacionesBase db = new OperacionesBase();
        String query="select * from registrollamada";
        ResultSet resultado = db.seleccion(query);
        Problema1 miProblema=null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            miProblema = new Problema1();
            miProblema.setId(resultado.getString("id"));
            miProblema.setNombre(resultado.getString("cedula"));
            miProblema.setLugar(resultado.getString("direccion"));
            miProblema.setMotivo(resultado.getString("descripcion"));
            miProblema.setNivel(resultado.getString("idnivelproblema"));
            miProblema.setFecha(resultado.getString("fecha"));
            miProblema.setEstado(resultado.getString("estado"));
            todos.add(miProblema);
        }
        db.cerrarConexion();
        return todos;
    }
     
    
     public Solicitante buscarSolicitante(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from solicitante where cedula='" + cedula + "'";
        ResultSet resultado = db.seleccion(query);
        Solicitante miSolicitante=null;
        if (resultado!=null) {
            resultado.next();
            miSolicitante = new Solicitante();
            miSolicitante.setCedula(String.valueOf(resultado.getString("cedula")));
        }
        db.cerrarConexion();
        return miSolicitante;
    }
     
//     public ArrayList buscarListaProductos(int numerofactura) throws SQLException {
//        OperacionesBase db = new OperacionesBase();
//        String query="select * from factura_producto where numerofactura ='" + numerofactura + "'";
//        ResultSet resultado = db.seleccion(query);
//       // ArrayList a= (ArrayList) resultado.getArray("codigoproducto");
//        ArrayList producto= new ArrayList();
//        Producto miProducto=null;
//        while (resultado.next())
//        {
//            miProducto = new Producto();
//            int num=resultado.getInt("numerofactura");
//            miProducto.setCodigo(resultado.getString("codigoproducto"));
//            
//            producto.add(miProducto);
//        }
//        db.cerrarConexion();
//        return producto;
//    }

    
}
